// 工具层 创建axios实例并配置请求根路径
import axios from 'axios'
import store from '../store'

// 创建一个axios实例
const service = axios.create({
  baseURL: 'http://big-event-vue-api-t.itheima.net',
  timeout: 5000 // 设置超时时间
})


// 添加请求拦截器
service.interceptors.request.use(function (config) {
  //  startsWith()设置只有'/my'开头的路径 才使用config请求对象设置统一的token
   if(store.state.user.token&&config.url.startsWith('/my')){
     config.headers.Authorization = store.state.user.token
   }
   return config;
 }, function (error) {
   // 对请求错误做些什么
   return Promise.reject(error);
 });
 // 添加响应拦截器
 axios.interceptors.response.use(function (response) {
   // 对响应数据做点什么
   return response;
 }, function (error) {
   // 报错401 跳转回登录页
   if(error.response.status === 401){
     router.push('/login')
   }
   return Promise.reject(error);
 });


// 暴露axios实例
export default service